Cuando utilizamos operador de asignación (más comunmente conocido como =) para asignar un array –o un objeto– ya existente a una variable debemos tener en cuenta que no estamos almacenando una copia del array, sino una referencia al mismo.
Considérese:
var a = [ 1, 2, 3 ];
alert(a); // [ 1, 2, 3 ]
var b = a;
alert(b); // [ 1, 2, 3 ]
b.push(4);
alert(b); // [1, 2, 3, 4 ]
alert(a); // [ 1, 2, 3, 4 ] <-- `a` ha sido modificado indirectamente
Veamos como realizar una copia en lugar de almacenar una referencia. Continúa leyendo Copia de arrays y objetos
Ya hace unos días (casi una semana) que la nueva versión de Scriptia está en marcha. Estas son las principales novedades:
- Rediseño: más claro y navegable; ahora todas las páginas incluyen un breadcrumb para facilitar la navegación.
- Categorías no hay más que dos y estas me las encontré en la calle. Dividimos nuestras anotaciones en notas al margen y artículos; pertenecen a la primera categoría las anotaciones breves sobre artículos publicados en otros sitios, a la segunda los contenidos propios que pretendemos sean, sobre todo, didácticos.
- Etiquetas: asignamos a cada nota una o varias etiquetas (keywords); las mostramos al final de cada uno de los artículos para facilitar la navegación por temas. Además, gracias a la magia de Ultimate Tag Warrior, podemos incluir enlaces a anotaciones relacionadas (se muestran al pie de cada nota) y acceder a «combos» de etiquetas, como ejemplo, jquery+referencia.
- Cambio de dominio: esto –que parece un blog– deja el dominio principal de scriptia.net y pasa a ubicarse en blog.scriptia.net. (Por el momento, scriptia.net redirige a blog.scriptia.net, pero esto cambiará pronto, de acuerdo con nuestro Plan de Dominación Mundial.)
Otra novedad que vendrá pronto, muy pronto: voy a trasladar a Scriptia los artículos sobre jQuery que he venido publicando en Dizque.
Confío en que todos (mis dos lectores y yo) disfrutemos de esta nueva etapa, pese a quien pese.
Amigos, amigas: el gran día en que Scriptia va a comenzar a ser lo que siempre soñó ser cuando era chiquito está cerca. Muy cerca.
Dentro de unos días vamos a tener una importante remodelación del sitio que va más allá del rediseño. Y una de los efectos colaterales es el cambio de dominio para el blog que estás leyendo. Digamos adios al viejo scriptia.net y demos la bienvenida a blog.scriptia.net.
Y como sé que todos (sí, vosotros dos) me leéis por RSS, mejor será que actualicéis la URI del feed antes de que sea demasiado tarde. Hela aquí: RSS de las anotaciones en el blog de Scriptia (ya estamos en periodo de transición).
Ah, otra cosita: se aceptan (y solicitan) peticiones para tutoriales, artículos, notas y genocidios. Podéis hacerlas en los comentarios de este post.
Amigos y compañeros que vivís del desarrollo con PHP, he aquí para vuestro uso y disfrute algunas traducciones de sintaxis de PHP en lo que a arrays se refiere.
Continúa leyendo El Array explicado a los phperos
Este truquito para copiar propiedades de un objeto a otro:
function apply(a, b) {
for (var i in b) {
a[i] = b[i];
}
}
Puede ser útil para manejar parámetros por defecto en una función:
function algoHaremos(conf) {
var def = { order: 'date', asc: false };
conf = apply(def, conf || {});
}
Continúa leyendo Copia de propiedades e importación de métodos
El uso de literales de objeto, además de servir para trapichear con hashes, permite mantener el código limpio y bien ordenadito. Chris Heilmann lo explica en Show love to the object literal.
Sergio Pereira –el mismo de la documentación de Prototype.js– explica conceptos avanzados del lenguaje en Quick guide to somewhat advanced JavaScript. OOP y otras hierbas. Recomendada para pehacheperos.